﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using TheBullysStore.Models;
using TheBullysStore.Models.ModuloVentas.Propiedades;
using TheBullysStore.Models.ModuloVentas.WebPage;
using TheBullysStore.Models.ModuloVentas.Consulta;
using TheBullysStore.Models.ModuloAdministracion.Usuario;
using TheBullysStore.Models.ModuloAdministracion.DepartamentoPeru;
using log4net;
namespace TheBullysStore.Controllers
{
    public class HomeController : Controller
    {

        private TheBullysStoreDB db = new TheBullysStoreDB();
        ViviendaFacade viviendaFacade = new ViviendaFacade();
        ConsultaDAO consultaDAO = new ConsultaDAO();
        DepartamentoPeruFacade departamentoPeruFacade = new DepartamentoPeruFacade();
        [HttpPost]
        public JsonResult buscarVivienda(ViviendaBean vivienda)
        {
            System.Diagnostics.Debug.WriteLine("(Antes de DB)--> " +vivienda.tipo1 +vivienda.tipo2+vivienda.tipo3+vivienda.tipo4+vivienda.precio1+vivienda.precio2+vivienda.distrito );
            List<PropiedadesBean> listaPropiedades = viviendaFacade.ListarViviendas(vivienda);
            System.Diagnostics.Debug.WriteLine("(Despues de DB)--> " +listaPropiedades.Count );
            return Json(new { listaPropiedades });
        }
        [HttpPost]
        public JsonResult buscarDetalles(PropiedadesBean vivienda)
        {
            System.Diagnostics.Debug.WriteLine("(Antes de DB)--> " + vivienda.id_propiedad);
            PropiedadesBean propiedad = viviendaFacade.ViviendaDetalles(vivienda);
            System.Diagnostics.Debug.WriteLine("(Despues de DB)--> " + propiedad.precio_base);
            return Json(new { propiedad
            });
        }
        [HttpPost]
        public void enviarConsulta(ConsultaBean consulta)
        {
            try
            {
                System.Diagnostics.Debug.WriteLine("llegue aqui");
                String message = "Se ha realizado una consulta relacionada con la propiedad de id=" + consulta.Id_Propiedad + " de \"" + consulta.correo + "\"\n";
                message +="\""+consulta.Descripcion+"\"";
                System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();

                System.Net.NetworkCredential cred = new System.Net.NetworkCredential("sw.softbully@gmail.com", "Himerror500Softbully");

                System.Diagnostics.Debug.WriteLine("llegue aqui2");
                string correo = consultaDAO.correoVendedor(consulta.Id_Propiedad);

                System.Diagnostics.Debug.WriteLine("llegue aqui3 "+ correo);
                System.Diagnostics.Debug.WriteLine("EMAIL :" +correo);
                mail.To.Add(correo);
                mail.Subject = "Consulta de Propiedad_"+consulta.Id_Propiedad;

                mail.From = new System.Net.Mail.MailAddress("sw.softbully@gmail.com");
                mail.IsBodyHtml = true;
                mail.Body = message;

                System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com");
                smtp.UseDefaultCredentials = false;
                smtp.EnableSsl = true;
                smtp.Credentials = cred;
                smtp.Port = 587;
                smtp.Send(mail);
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("Error en envio de mensajes : " + ex.Message);
            }
            String resultado=consultaDAO.RegistrarConsulta(consulta);
            
        }

       
        public ActionResult Index()
        {
            System.Diagnostics.Debug.WriteLine("Exito 333");
            return View();
        }

        public ActionResult About()
        {
            return View();
        }

        public ActionResult Busqueda() {
            return View();
        }

        public ActionResult Detalles() {
            return View();
        }

        public ActionResult Sugerencias()
        {
            return View();
        }
        public ActionResult Departamentos()
        {
            return View();
        }
        public ActionResult Casas()
        {
            return View();
        }
        public ActionResult DePlaya()
        {
            return View();
        }
        public ActionResult Otros()
        {
            return View();
        }
    
        public ActionResult HomeIntranet()
        {
                       
            ViewBag.Message = "Bienvenido a Soft-Bully";
            return View();
        }

        public ActionResult DetalleImagenes()
        {
            return View();
        }

    }
}
